package com.lenovo.lcdm.type.vo;

import java.io.Serializable;
import java.util.List;

/**
 * @desc local属性传输类
 * @author
 * @date
 */
public class LocalAttributeModel implements Serializable {

    private Long id;

    /**
     * 组名称
     */
    private String groupName;

    /**
     * 全局属性id
     */
    private Long globalAttributeId;

    /**
     * An unique identification for root type, each internalId of local attribute in this type or it's sub type are unique,
     * but may duplicate among different root type, the value of internalId is "data type"+sequence, e.g. string1, integer1,
     * it could be used for extension, e.g. could be a mapping ID between attribute & db segment
     */
    private String internalId;

    /**
     * 全局属性内部名称
     */
    private String name;

    /**
     * 全局属性显示名称
     */
    private String displayName;

    /**
     * 全局属性数据类型
     */
    private String dataTypeName;

    /**
     * 是否多值
     */
    private boolean multipleValue;

    /**
     * 可选值列表
     */
    private String validInputList;

    /**
     * 属性值输入方式
     */
    private String valueInputStyle;

    /**
     * Referenced attribute, format: 'typeName.attributeName'
     */
    private String referencedAttribute;

    /**
     * Referenced value provider, it's a class to indicate the instance of provider
     */
    private String referencedValueProvider;

    /**
     * Date format for String & Date value
     */
    private String format;

    /**
     * Referenced attribute data type
     */
    private String referencedDataType;

    /**
     * 属性的默认值
     */
    private String defaultValue;

//    private List<ConstraintModel> constraintModelList;


    /**
     * 排序id
     */
    private Long sortId;

    private String attributeType;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getGlobalAttributeId() {
        return globalAttributeId;
    }

    public void setGlobalAttributeId(Long globalAttributeId) {
        this.globalAttributeId = globalAttributeId;
    }

    public String getInternalId() {
        return internalId;
    }

    public void setInternalId(String internalId) {
        this.internalId = internalId;
    }

    public boolean isMultipleValue() {
        return multipleValue;
    }

    public void setMultipleValue(boolean multipleValue) {
        this.multipleValue = multipleValue;
    }

    public String getValidInputList() {
        return validInputList;
    }

    public void setValidInputList(String validInputList) {
        this.validInputList = validInputList;
    }

    public String getValueInputStyle() {
        return valueInputStyle;
    }

    public void setValueInputStyle(String valueInputStyle) {
        this.valueInputStyle = valueInputStyle;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDisplayName() {
        return displayName;
    }

    public void setDisplayName(String displayName) {
        this.displayName = displayName;
    }

    public String getDataTypeName() {
        return dataTypeName;
    }

    public void setDataTypeName(String dataTypeName) {
        this.dataTypeName = dataTypeName;
    }

//    public List<ConstraintModel> getConstraintModelList() {
//        return constraintModelList;
//    }
//
//    public void setConstraintModelList(List<ConstraintModel> constraintModelList) {
//        this.constraintModelList = constraintModelList;
//    }

    public Long getSortId() {
        return sortId;
    }

    public void setSortId(Long sortId) {
        this.sortId = sortId;
    }

    public String getAttributeType() {
        return attributeType;
    }

    public void setAttributeType(String attributeType) {
        this.attributeType = attributeType;
    }

    public String getGroupName() {
        return groupName;
    }

    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }

    public String getDefaultValue() {
        return defaultValue;
    }

    public void setDefaultValue(String defaultValue) {
        this.defaultValue = defaultValue;
    }

    public String getReferencedAttribute() {
        return referencedAttribute;
    }

    public void setReferencedAttribute(String referencedAttribute) {
        this.referencedAttribute = referencedAttribute;
    }

    public String getReferencedValueProvider() {
        return referencedValueProvider;
    }

    public void setReferencedValueProvider(String referencedValueProvider) {
        this.referencedValueProvider = referencedValueProvider;
    }

    public String getFormat() {
        return format;
    }

    public void setFormat(String format) {
        this.format = format;
    }

    public String getReferencedDataType() {
        return referencedDataType;
    }

    public void setReferencedDataType(String referencedDataType) {
        this.referencedDataType = referencedDataType;
    }
}
